GameLift RealtimeServer SampleGame「MegaFrogRace」を動かしてみた ~ローカル対戦編~
どうも、コンサルティング部の後藤です。
皆さん、Mega Frog Raceをご存じでしょうか?Mega Frog RaceはGameLiftのRealtimeServerの機能を試すことが出来るサンプルゲームになります。
たった数行のJavaScriptで作るマルチプレイヤーモバイルゲームのサーバー
今回はこちらを実際にGameLiftのRealtimeServerでセッション、対戦出来るようになるまで試してみました。個人的にハマりポイントが多く1つの記事にまとめると長くなりそうだったので、本記事はMega Frog Raceをローカル環境で動かすまでをまとめたものになります。
事前に準備するもの
・ソースコード
megafrograce-gamelift-realtime-servers-sample
・ビルド環境
- Visual Studio 2017
- Unity 2018
・使用するSDK
上記を準備していきます。また、ローカル環境はWindowsになります。
GameLift Realtime Clinet SDKをVisual Studio 2017でビルドする
GameLift Realtime Clinet SDKをダウンロードして、zipを解凍します。Visual Studio 2017で解凍したフォルダ内にあるソリューションファイルGameLiftRealtimeClientSdkNet45.sln
を開きます
次にソリューションエクスプローラーを開き、NuGetパッケージを復元します。
NuGetパッケージが復元出来た後、ビルドを実行します。(NuGetパッケージを復元しないとビルドが失敗してしまいました。
ビルドが完了すると、GameLift_Realtime_09_03_2019\GameLiftRealtimeClientSdkNet45\bin\Debug
の配下に幾つかのファイルが作成されます。そのうち、以下のファイルを後々使用します。
- GameLiftRealtimeClientSdkNet45.dll
- Google.Protobuf.dll
- log4net.dll
- SuperSocket.ClientEngine.dll
- WebSocket4Net.dll
MegaFrogRaceをUnityでビルドする
MegaFrogRaceはUnityバージョン 2018.3.12f1 で作成されています。ブログ執筆時点では、UnityHubでは以下のバージョンがインストールできました。
- Unity 2020.1.17f1
- Unity 2019.4.16f1(LTS)
- Unity 2018.4.30f1(LTS)
MegaFrogRaceのバージョンに合わせるため、今回はUnity 2018.4.30f1(LST)
をインストールしています。
プロジェクトから「リストに追加」を選択してソースコード内にあるMegaFrogRace
のフォルダを選択します。
プロジェクトが開けたら、「アセット」→「パッケージをインポート」→「カスタムパッケージ...」を選択してAWS Mobile SDK for Unityに含まれるAWSSDK.Lambda.3.3.112.2.unitypackage
をインポートします。
次に、Assetsフォルダ配下にRTSAPI
というフォルダを作成し、GameLift Realtime Client SDKをビルドした際に作成された5つのファイルを設置しておきます。設置すると、Unityで以下のように見えるようになります。
もう一つ、Assetsフォルダ配下にDOTween
のフォルダを設置します。DOTweenを設置すると、Unityにて以下のような画面が出力されるので、Open DOTween Utility Panel
を選択します。
その後また違う画面が出力されるので、Setup DOTween
→ Apply
を選択します。
これで、フォルダ類は全て整いましたので、次はビルド設定を行っていきます。
「ファイル」→「ビルド設定」を選択。ビルドに含まれるシーンの枠の中にScenesフォルダのgame,titleのアイコンをドラッグ&ドロップします。
「編集」→「Project setting」→「入力」を選択、軸を展開して以下を変更します。
- サイズを20に変更
- 提出を展開
- 名前を HopP1 に変更
- 正方向を space に変更
- 提出を展開
- 名前を HopP2 に変更
- 正方向を right shift に変更
- 正方向(副)の設定を空にする
上記設定が出来たら、再度「ファイル」→「ビルド設定」を選択。「ビルド」を選択します。
ビルド展開先のフォルダを新規作成して、そのフォルダを選択します。(既存のフォルダを選択するとエラーが出る?
ビルドが成功すると、以下のようにMegaFrogRace.exe
が作成されます。
ローカルで遊んでみる
MegaFrogRace.exeを選択するといよいよMega Frog Raceが遊べます。解像度は1280x800が丁度良さそうな気がします。
今回はローカル環境で遊ぶため、右下にあるQUITを選択してLocal MultiPlayer
を選択すると、遊ぶことが出来ます。上(恐らく1P)はSpace、下(恐らく2P)はright shiftでジャンプする事が出来ます。
まとめ
MegaFrogRaceをローカル環境で遊ぶところまでをまとめてみました。今回UnityやVisual Studioを初めて使って分からない事だらけだったので、動いた時は滅茶苦茶嬉しかったです。次はGameLiftのRealtimeServerを使ってマッチングをさせ、ネット対戦出来るところをご紹介出来ればと思います。